# 字符串讲解记常用方法讲解
a="   PYTHON   "
print(a)
# 字符串有对应的下标
#是否可以通过下标进行取值?可以，如何取值？在变量后使用[元素的下标]
print(a[0])
print(a[5])
# 当下标超出字符串的最大下标时，会引发下标越界异常
# print(a[6])
# 切片是指截取字符串中的其中一段内容。
# 切片使用语法：[起始下标：结束下标：步长]
# 切片截取的内容不包含结束下标对应的数据，步长指的是隔几个下标获取一个字符。
print(a[0:4:2])
# 字符串的遍历
for item in a:
    print(item,end=" ")
    pass
print()
# 切片不会越界；第三个参数步长可以省掉，默认为1
print(a[0:15])
print("================")
# 步长可以为负数，当为负数时，取值从右向左
print(a[5:0:-1])
# 切片中第一个参数可以省略，省略后，默认为0
print(a[:2])
# 切片中第二个参数可以省略，省略后，默认为字符串的最大下标+1
print(a[1:])
# 切片中的三个参数可以全部省略，省略后，默认取全部内容
print(a[::])
# 当切片的前两个参数省略，第三个参数为-1；则倒叙取值
print(a[::-1])
print(a[::-2])
print(a[::1])
# 字符串的常用方法
# capitalize首字母变大写
print(a.capitalize())
#startswith 以XX为开头
print(a.startswith("p"))
#endswith 以XX为结尾
print(a.endswith("n"))
# find方法，可以搜索字符串内是否包含某个字符，若存在，则返回该字符所在的下标，若不存在，则返回-1
print(a.find('a'))
# isalnum判断变量是否为字符串，若为字符串，则返回True
print(a.isalnum())
print("==================")
# isalpha判断变量是否为字母，若为字母，则返回True
print(a.isalpha())
# isdigit判断变量是否为数字，若为数字，则返回True
print(a.isdigit())
# islower判断是否是小写
print(a.islower())
# join循环取出所有值用xx去连接
b="."
print(b.join(a))
# lower将字符串中的内容转换成小写
# upper将字符串中的内容转换成大写
# swapcase大写变小写，小写变大写
print(a.lower())
print("==================================")
# 移除左/右/两侧空白
print(a)
print(a.lstrip())
print(a.rstrip())
print(a.strip())
# split将字符串以指定的字符进行切割，参数为切割标志
str="白日依山尽，黄河入海流，欲穷千里目，更上一层楼"
print(str.split("，"))
str2="how are you"
print(str2.title())
# replace(old, new, count=None)
# #old被换字符串，new替换字符串，count换多少个。无count表示全
# 部替换。
print(str2.replace('o','a',1))
# count统计出现的次数
print(str2.count("o"))